package com.yunkeji.system.domain.bo;

import com.yunkeji.common.core.validate.AddGroup;
import com.yunkeji.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.yunkeji.common.core.domain.BaseEntity;

/**
 * banner 配置业务对象 ykj_app_banner
 *
 * @author 老张
 * @date 2024-05-27
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class AppBannerBo extends BaseEntity {

    /**
     * 
     */
    @NotNull(message = "不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 类型,1钱包banner,2热门活动,3充值-更多优惠，4首页
     */
    @NotNull(message = "类型,1钱包banner,2热门活动,3充值-更多优惠，4首页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer type;

    /**
     * 开始时间
     */
    @NotNull(message = "开始时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long startTime;

    /**
     * 
     */
    @NotNull(message = "不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long stopTime;

    /**
     * 跳转类型,1h5跳转,2应用内
     */
    @NotNull(message = "跳转类型,1h5跳转,2应用内不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer jumpType;

    /**
     * 图片地址
     */
    @NotBlank(message = "图片地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pictureUrl;

    /**
     * h5地址/应用页编号,1活动充值界面,2盲盒界面.....
     */
    @NotBlank(message = "h5地址/应用页编号,1活动充值界面,2盲盒界面.....不能为空", groups = { AddGroup.class, EditGroup.class })
    private String bannerUrl;

    /**
     * 性别,1男,2女,通用
     */
    @NotNull(message = "性别,1男,2女,通用不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sexGroup;

    /**
     * 适用平台,1安卓2ios3通用
     */
    @NotNull(message = "适用平台,1安卓2ios3通用不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer plat;

    /**
     * （1：陌对，2：MO聊）
     */
    @NotNull(message = "（1：陌对，2：MO聊）不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer appType;

    /**
     * 启用状态1启用0禁用
     */
    @NotNull(message = "启用状态1启用0禁用不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer status;

    /**
     * 位置优先级，1最高
     */
    @NotNull(message = "位置优先级，1最高不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer sortIdx;

    /**
     * 备注信息
     */
    @NotBlank(message = "备注信息不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;


}
